La méthode XP (eXtreme Programming).

Dernière mise à jour : 04/07/2004
[ Version imprimable ]
Introduction
Les 4 valeurs
Les 13 pratiques
Quelques principes
Discussions.
Ressources.
  • Sites.
  • Livres.


Introduction

[ HAUT DE PAGE ]

Cet article vise dans un premier temps à reprendre, un peu comme un pense bête, les principes fondamentaux de l'eXtreme Programming.

Il se contente donc, pour l'instant, de synthétiser les principes théoriques.

J'espère pouvoir très prochainement ajouter une touche pratique à cet article en y formalisant mon retour d'expérience, ma vision.



Les 4 valeurs

[ HAUT DE PAGE ]

Pour fonctionner, XP nécessite 4 valeurs indispensables, qui doivent absolument se retrouver dans chaque membre de l'équipe :

  1. La communication
  2. Le retour d'information ou feed back,
  3. La simplicité
  4. Le courage.



Les 13 pratiques

[ HAUT DE PAGE ]

Lorsque l'on veut qu'un accord soit bien respecté, il est plus honnête de lui donner un nombre restreint d'items.

Partant de ce postulat, XP se définit donc en « seulement » 13 pratiques :

  1. Client sur le Site (On-Site Customer)
  2. Séance de Planification (Planning Game)
  3. Intégration Continue (Continuous Integration)
  4. Livraisons Fréquentes (Frequent Releases)
  5. Rythme Soutenable (Forty-hour Week)
  6. Tests De Recette (Acceptance Tests)
  7. Tests Unitaires (UnitTesting)
  8. Conception Simple (Simple Design)
  9. Métaphore (Metaphor)
  10. Remaniement Continu (MercilessRefactoring)
  11. Convention de Code (Coding Standard)
  12. Programmation En Binôme (Pair Programming)
  13. Propriété Collective du Code (Collective Code Ownership)

Comme vous pouvez le constater, aidé en cela par un des arguments de ses détracteurs, XP n'a rien inventé. Elle ne fait que reprendre et agréger des pratiques qui existaient auparavant. Il faut donc bien voir XP comme la somme de tous ces principes, et non pas comme la pratique de l'un d'entre eux.

Cela est d'autant plus important, que c'est également un sujet de discorde. Il est en effet difficile dans la pratique de réunir l'ensemble de ces pratiques sur un projet. Or, sur un projet qui échoue, l'échec est-il du au non respect de l'intégralité des pratiques (comme le préconise XP), ou au fait que XP n'est qu'une utopie qui ne pourra jamais fonctionner (comme le disent ses détracteurs).

Afin de mettre en oeuvre une des pratiques XP, je pense que l'on peut utiliser pour définir un projet XP la métaphore de l'être humain. Chaque pratique XP peut alors être vue comme une partie vitale du corps humain : une jambe n'est pas un corps entier. Par contre un être humain n'est pas seulement un corps...



Quelques principes

[ HAUT DE PAGE ]

Ces treize pratiques, comme tout commandement biblique, peut-être sujet à interprétation dans leur mise en oeuvre. C'est pour cela, pour guider le pèlerin, pour l'aider à rester sur le droit chemin dont les bas-côtés apparaissent mal délimités, que XP s'étoffe de quelques principes :

  • faire les choses le plus simplement possible, juste ce qu'il faut pour que ça marche,
  • autrement dit, il ne faut pas faire maintenant ce dont on aura peut-être besoin un jour.
  • Justifier chaque ligne de code par un test est un bon moyen de respecter cela.
  • En fin de journée les tests passent à 100%. Le code qui ne passe pas les tests passe à la corbeille.
  • Demander au système, à l'application, lorsque l'on se pose une question sur ses fonctionnalités.
  • Si nous poussons ce principe à l'extrême, nous sommes amené à le mettre en pratique dans les tests, et donc à tricher pour faire passer ce test. Dans un premier temps, on écrit en dur dans le code la valeur attendue, de manière à faire passer le test. Si pas d'autre test n'est écrit cela suffit. Si un autre test est ajouté pour mettre en valeur en échec, alors nous pouvons continuer.
  • En fin de journée les tests passent à 100%. Le code qui ne passe pas les tests passe à la corbeille.


  • Discussions.

    [ HAUT DE PAGE ]

    On entend souvent cette phrase "il faut prendre un peu de chaque [méthodes]"...

    XP peut-être vu comme un révélateur : de part la rigueur qu'elle demande, toute carence, tout disfonctionnement est rapidement mis en évidence...

    Concernant les test, j'ai entendu à une forum XP, cette citation fort judicieuse : "on s'arrête de tester lorsque la crainte se transforme en ennui"...



    Ressources.

    [ HAUT DE PAGE ]

    Sites.

    Livres.